#!/usr/bin/env python
# -*- coding: utf-8 -*-

#
# This program is free software; you can redistribute it and/or modify  
# it under the terms of the GNU General Public License as published by  
# the Free Software Foundation; either version 2 of the License, or     
# (at your option) any later version.                                   
#                                                                         
# A copy of the license can be found in the license.txt file supplied   
# with this software or at: http://www.gnu.org/copyleft/gpl.html       
#


class   NodeBin(object) :
    
    def put(self, keyid, key, data, timestamp) :
        '''put (keyid, key, data, timestamp) into bin.

        @param keyid id of key
        @param key key string
        @param data data string
        @param timestamp timestamp tag of this key-value

        @return 3-tuple(status, keyid, key)
        '''
        raise NotImplementedError
        ## put()


    def get(self, keyid, key, timestamp) :
        '''get data on (keyid, key) from bin

        @param keyid id of key
        @param key key string
        @param timestamp the lastest timestamp tag of this key-value to get

        @return 5-tuple(status, keyid, key, data, timestamp)
        '''
        raise NotImplementedError
        ## get()


    def remove(self, keyid, key, timestamp) :
        '''put (keyid, key, timestamp) into bin.

        @param keyid id of key
        @param key key string
        @param timestamp timestamp tag of this key-value

        @return 3-tuple(status, keyid, key)
        '''
        raise NotImplementedError
        ## remove()

    ## class NodeBin

